﻿using DataSecurity.StandartInterfaces;

namespace DataSecurity.LinqToSql.Implementation
{
    /// <summary>
    /// Linq-to-Sql specific factory that creates data access objects.
    /// </summary>
    /// <remarks>
    /// GoF Design Patterns: Factory.
    /// </remarks>
    public class LinqDaoFactory : IDaoFactory
    {
        /// <summary>
        /// Gets the role in site.
        /// </summary>
        /// <value>
        /// The role in site.
        /// </value>
        /// <exception cref="System.NotImplementedException"></exception>
        public IRoleInSite RoleInSite
        {
            get { throw new System.NotImplementedException(); }
        }
        /// <summary>
        /// Gets the email configuration.
        /// </summary>
        /// <value>
        /// The email configuration.
        /// </value>
        public IEmailConfig EmailConfig { get; private set; }
        /// <summary>
        /// Gets the membership.
        /// </summary>
        /// <value>
        /// The membership.
        /// </value>
        public IMembership Membership { get; private set; }
        /// <summary>
        /// Gets the role.
        /// </summary>
        /// <value>
        /// The role.
        /// </value>
        /// <exception cref="System.NotImplementedException"></exception>
        public IRole Role
        {
            get { throw new System.NotImplementedException(); }
        }
        /// <summary>
        /// Gets the user.
        /// </summary>
        /// <value>
        /// The user.
        /// </value>
        /// <exception cref="System.NotImplementedException"></exception>
        public IUser User
        {
            get { throw new System.NotImplementedException(); }
        }
        /// <summary>
        /// Gets the permission.
        /// </summary>
        /// <value>
        /// The permission.
        /// </value>
        /// <exception cref="System.NotImplementedException"></exception>
        public IPermission Permission
        {
            get { throw new System.NotImplementedException(); }
        }
        /// <summary>
        /// Gets the permission in site.
        /// </summary>
        /// <value>
        /// The permission in site.
        /// </value>
        /// <exception cref="System.NotImplementedException"></exception>
        public IPermissionInSite PermissionInSite
        {
            get { throw new System.NotImplementedException(); }
        }
        /// <summary>
        /// Gets the site.
        /// </summary>
        /// <value>
        /// The site.
        /// </value>
        /// <exception cref="System.NotImplementedException"></exception>
        public ISite Site
        {
            get { throw new System.NotImplementedException(); }
        }
    }
}

